# codeing=utf-8

"""
@description:变量知识点练习
@author:zhangyanqing@
@date:2020-10-31
@version:python-3.7
"""

# 与 元 组 和列 表 类似，Set（集合）
# 中同样可以包含多个不同类型的元素，但集合中的各元素无序、不允许有相同元素且元素必须是可哈希（hashable）的对象。
# 可哈希对象是指拥有__hash__(self)内置函数的对象。
# 列表、元组、集合和字典类型的数据不是可哈希对象，所以它们不能作为集合中的元素。

# 集合中的所有元素都写在一对大括号“{}”中，各元素之间用逗号分隔。创建集合时，既可以使用{}，也可以使用set函数。set函数的语法格式如下：set([iterable])其中，iterable是一个可选参数，表示一个可迭代对象。

# 可迭代（iterable）对象是指可以一次返回它的一个元
# 素，如前面学习的字符串、列表、元组都是可迭代的数据类型。

a={10, 2.5, 'test', 3+4j, True, 5.3, 2.5}
print(a) #输出“{True, 2.5, 5.3, 10, (3+4j), 'test'}”
b=set('hello')
print(b) #输出“{'e', 'l', 'o', 'h'}”
c=set([10, 2.5, 'test', 3+4j, True, 5.3, 2.5])
print(c) #输出“{True, 2.5, 5.3, 10, (3+4j), 'test'}”
d=set((10, 2.5, 'test', 3+4j, True, 5.3, 2.5))
print(d) #输出“{True, 2.5, 5.3, 10, (3+4j), 'test'}”

# 与字符串、列表、元组等序列类型不同，集合中的元素不能使用下标方式访问。
# 集合主要用于做并、交、差等集合运算，以及基于集合进行元素的快速检索。
# {}用于创建空字典，如果要创建一个空集合，则需要使用set()。